package com.ruicar.afs.cloud.manage.common.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruicar.afs.cloud.common.core.entity.BaseEntity;
import com.ruicar.afs.cloud.common.modules.contract.enums.BusinessSourceEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.CaseStatusEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.ContractBusinessEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.DataSourceEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @author: Lee
 * @date 2020-05-30 09:21:16 
 * @description 合同信息变更申请记录总表
 */
@Data
@Accessors(chain = true)
@TableName(value ="manage_apply_record", autoResultMap = true)
public class ManageApplyRecord extends BaseEntity<ManageApplyRecord> {

	/** 合同号码 */
	@ApiModelProperty("合同号码")
	private String contractNo;
	/** 案件编号 */
	@ApiModelProperty("案件编号")
	private String caseNo;
	/** 业务类型 枚举值：合同取消、身份信息变更、联系方式变更、银行卡变更、还款日变更、资产信息变更、合同重出、溢缴款退款、延期申请、提前结清、展期、保险业务 */
	@ApiModelProperty("业务类型 枚举值：费用豁免单丶合同取消、身份信息变更、联系方式变更、银行卡变更、还款日变更、资产信息变更、合同重出、溢缴款退款、延期申请、提前结清、展期、保险业务")
	private ContractBusinessEnum contractBusiness;
	/** 案件状态 枚举值   ：未提交，审核中，审核通过，审核拒绝 */
	@ApiModelProperty("案件状态 枚举值   ：未提交，审核中，审核通过，审核拒绝")
	private CaseStatusEnum caseStatus;
	/** 数据来源 枚举值：CMS、多品系统 */
	@ApiModelProperty("数据来源 枚举值：CMS、多品系统")
	private DataSourceEnum dataSource;
	/** 业务来源 枚举值 */
	@ApiModelProperty("业务来源 枚举值")
	private BusinessSourceEnum businessSource;
	/** 申请时间 */
	@ApiModelProperty("申请时间")
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date applyTime;
	/** 结束时间 案件审批完成时间 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("结束时间 案件审批完成时间")
	@JSONField(format="yyyy-MM-dd HH:mm:ss")
	private Date endDate;

}
